import globalComponents from '@/components';
import Norm from '@/components/norm/index.vue';
import NormScore from '@/components/score_norm/index.vue';
import Step from '@/components/step/index.vue';
import Ueditor from '@/components/ueditor/index.vue';
import Upload from '@/components/upload/index.vue';
import UploadVideo from '@/components/uploadVideo/index.vue';
import ArcoVue from '@arco-design/web-vue';
import ArcoVueIcon from '@arco-design/web-vue/es/icon';
import { createApp } from 'vue';
import VueUeditorWrap from 'vue-ueditor-wrap';
import 'vue3-video-play/dist/style.css'; // 引入css
import vue3videoPlay from 'vue3-video-play/lib/index';
import App from './App.vue';
import directive from './directive';
import i18n from './locale';
import './mock';
import router from './router';
import store from './store';
// Styles are imported via arco-plugin. See config/plugin/arcoStyleImport.ts in the directory for details
// 样式通过 arco-plugin 插件导入。详见目录文件 config/plugin/arcoStyleImport.ts
// https://arco.design/docs/designlab/use-theme-package
import '@/api/interceptor';
import '@/assets/style/global.less';

const app = createApp(App);

app.use(ArcoVue, {});
app.use(ArcoVueIcon);
app.use(vue3videoPlay);
app.use(router);
app.use(store);
app.use(VueUeditorWrap);
app.use(i18n);
app.use(globalComponents);
app.use(directive);
app.component('Ueditor', Ueditor);
app.component('Upload', Upload);
app.component('UploadVideo', UploadVideo);
app.component('Step', Step);
app.component('Norm', Norm);
app.component('NormScore', NormScore);

app.mount('#app');
